/*
 * Copyright 2008-2023 dexian.vip. All rights reserved.
 * Support: http://www.dexian.vip
 * License: http://www.dexian.vip/license
 */

package vip.dexian.admin.service;

import vip.dexian.admin.dto.AdminDTO;
import vip.dexian.common.query.Page;

/**
 * 在线用户管理
 *
 * @author 挺好的 2023年06月06日 17:26
 */
public interface OnlineAdminService {

    /**
     * 填充是否在线
     *
     * @param page
     *         管理员DTO
     */
    void fillOnline (Page <AdminDTO> page);

    /**
     * 根据角色标识{@link vip.dexian.admin.entity.Role#getIdentity()}，踢出管理员
     *
     * @param role
     *         角色名称
     */
    void logoutByRole (String role);

    /**
     * 根据用户名踢出管理员
     *
     * @param username
     *         用户名
     */
    void logoutByUsername (String username);

    /**
     * 根据id强制踢出用户
     *
     * @param id
     *         用户id
     */
    void logoutById (Long id);

    /**
     * 清空全部session
     */
    void clear ();

}
